
//71.简化路径
class Solution {
public:
    string simplifyPath(string path) {
        //以/将每一个路径进行分割
        //将说有路径都存放到栈中,如果出现..就出栈,否则就入栈
        int n=path.size(),i=0;
        vector<string> st;
        while(i<n)
        {
            while(i<n&&path[i]=='/') i++;
            int start=i; 
            while(i<n&&path[i]!='/') i++;
            string tmp=path.substr(start,i-start);   //分离出路径
            if(tmp==".."&&!st.empty()) st.pop_back();
            else if(tmp!="."&&tmp!="..") st.push_back(tmp); 
        }
        //将栈中的元素读取出来
        string ret;
        for(auto& str:st)
            if(str.size())  ret+='/'+str;

        return ret==""?"/":ret;
    }
};